Selecting and Sharing Content

ABSTRACT

A user may select, edit, and share a portion of content. An interface may be used to select, edit, or comment on the portion of the content. One or more playlists may be generated for the selected portion of content and may be used to access the selected portion of content.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to, and is a continuation of,U.S. patent application Ser. No. 14/965,197, filed on Dec. 10, 2015,entitled Selecting and Sharing Content, which is hereby incorporated byreference in its entirety.

BACKGROUND

Users viewing content, such as television programs and movies, maydesire to share or comment on the content using their mobile devices,but might not have the ability to easily do so. Some mobile devices usetheir microphones to identify content to comment on based on the audiodetected by the microphone. However, these detection schemes might notbe accurate if the detected audio cannot be identified or if the deviceis not close enough to the audio source.

SUMMARY

This summary is not intended to identify critical or essential featuresof the disclosures herein, but instead merely summarizes certainfeatures and variations thereof. Other details and features will also bedescribed in the sections that follow.

One method described herein may comprise a server receiving, forexample, information identifying a clip of a video from a device, suchas a user device. The video may comprise a plurality of segments, whichmay include frames and/or packets. The server may also receive aplaylist for the video, such as from a content delivery network. Forexample, the server may receive the playlist for the video in responseto it contacting the content delivery network. The playlist may comprisean index to each of the plurality of segments of the video. From theplurality of video segments of the video, a first set of segmentscorresponding to the clip of the video may be determined. A modifiedplaylist for the video clip may be generated by removing, from theplaylist for the video, indexes to a second set of segments from theplurality of segments that are outside a time range of the first set ofsegments. In some aspects, the modified playlist may be sent to a seconddevice, and the modified playlist may be usable by the second device toaccess the video clip.

A method described herein may comprise a user device determining a videobeing displayed on a display device, which may be separate from the userdevice. The video may comprise a plurality of segments, which mayinclude frames and/or packets. The method may comprise generating, fordisplay on the user device, an interface for creating a clip of thevideo being displayed on the display device. The user device mayreceive, via the interface, a selection of a first set of segments fromthe plurality of segments, and the video clip may comprise the first setof segments. The user device may send, to a server for example,information comprising a start time of the clip, a duration or an endtime of the clip, and a playlist for the video being displayed on thedisplay device or an identifier for the playlist. The information may beusable by the server to create a playlist for the clip. In some aspects,the information may also comprise an identifier for a recipient of theplaylist for the clip.

A method described herein may comprise receiving, from a first device, aselection that indicates a content item and a start time for a portionof the content item. Encryption information for the portion of thecontent item may also be determined. Based on one or more playlist forthe content item, one or more modified playlist for the portion of thecontent item may be generated. In some aspects, the one or more modifiedplaylist may comprise the encryption information. The one or moremodified playlist may be sent to a second device, and the one or moremodified playlist may be usable by the second device to access theportion of the content item.

BRIEF DESCRIPTION OF THE DRAWINGS

Some features herein are illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements.

FIG. 1 illustrates an example information access and distributionnetwork.

FIGS. 2-8 illustrate an example system for selecting and sharing contentaccording to one or more illustrative aspects of the disclosure.

FIG. 9 illustrates an example method of selecting and sharing contentaccording to one or more illustrative aspects of the disclosure.

FIG. 10 illustrates an example hardware and software platform on whichvarious elements described herein can be implemented.

FIG. 11 illustrates an example device for selecting content to shareaccording to one or more illustrative aspects of the disclosure.

FIG. 12 illustrates an example device for editing selected content toshare according to one or more illustrative aspects of the disclosure.

FIG. 13 illustrates an example display screen for displayingapplications, including a content sharing application, according to oneor more illustrative aspects of the disclosure.

FIG. 14 illustrates an example display screen for creating content toshare according to one or more illustrative aspects of the disclosure.

FIG. 15 illustrates an example display screen for editing content toshare according to one or more illustrative aspects of the disclosure.

FIG. 16 illustrates an example display screen for sharing contentaccording to one or more illustrative aspects of the disclosure.

FIG. 17 illustrates another example display screen for sharing contentaccording to one or more illustrative aspects of the disclosure.

FIG. 18 illustrates an example display screen for sending contentaccording to one or more illustrative aspects of the disclosure.

FIG. 19 illustrates an example display screen for displaying a receivedmessage according to one or more illustrative aspects of the disclosure.

FIG. 20 illustrates an example display screen for displaying a contentsharing application according to one or more illustrative aspects of thedisclosure.

FIG. 21 illustrates an example display screen for displaying andinteracting with shared content according to one or more illustrativeaspects of the disclosure.

FIG. 22 illustrates an example display screen for commenting on sharedcontent according to one or more illustrative aspects of the disclosure.

FIG. 23 illustrates an example display screen for displaying andinteracting with shared content according to one or more illustrativeaspects of the disclosure.

FIG. 24 illustrates an example display screen for sending contentaccording to one or more illustrative aspects of the disclosure.

FIG. 25 illustrates example devices for accessing shared contentaccording to one or more illustrative aspects of the disclosure.

FIG. 26 illustrates an example display screen for selecting contentaccording to one or more illustrative aspects of the disclosure.

DETAILED DESCRIPTION

FIG. 1 illustrates an example information access and distributionnetwork 100 on which many of the various features described herein maybe implemented. The network 100 may be any type of informationdistribution network, such as satellite, telephone, cellular, wireless,etc. One example may be an optical fiber network, a coaxial cablenetwork or a hybrid fiber/coax (HFC) distribution network. Such networks100 use a series of interconnected communication links 101 (e.g.,coaxial cables, optical fibers, wireless connections, etc.) to connectmultiple premises, such as locations 102 (e.g., homes, businesses,institutions, etc.), to a local office 103 (e.g., a central office orheadend). The local office 103 may transmit downstream informationsignals onto the links 101, and each location 102 may have a receiverused to receive and process those signals.

There may be one link 101 originating from the local office 103, and itmay be split a number of times to distribute the signal to variouslocations 102 in the vicinity (which may be many miles) of the localoffice 103. Although the term home is used by way of example, locations102 may be any type of user premises, such as businesses, institutions,etc. The links 101 may include components not illustrated, such assplitters, filters, amplifiers, etc. to help convey the signal clearly.Portions of the links 101 may also be implemented with fiber-opticcable, while other portions may be implemented with coaxial cable, otherlinks, or wireless communication paths.

The local office 103 may include an interface 104, which may be atermination system (TS), such as a cable modem termination system(CMTS), which may be a computing device configured to managecommunications between devices on the network of links 101 and backenddevices such as servers 105-107 (to be discussed further below). Theinterface 104 may be as specified in a standard, such as, in an exampleof an HFC-type network, the Data Over Cable Service InterfaceSpecification (DOCSIS) standard, published by Cable TelevisionLaboratories, Inc. (a.k.a. CableLabs), or it may be a similar ormodified device instead. The interface 104 may be configured to placedata on one or more downstream channels or frequencies to be received bydevices, such as modems at the various locations 102, and to receiveupstream communications from those modems on one or more upstreamfrequencies. The local office 103 may also include one or more networkinterfaces 108, which can permit the local office 103 to communicatewith various other external networks 109. These networks 109 mayinclude, for example, networks of Internet devices, telephone networks,cellular telephone networks, fiber optic networks, local wirelessnetworks (e.g., WiMAX), satellite networks, and any other desirednetwork, and the network interface 108 may include the correspondingcircuitry needed to communicate on the network 109, and to other deviceson the network such as a cellular telephone network and itscorresponding cell phones (e.g., cell phone 117).

As noted above, the local office 103 may include a variety of servers105-107 that may be configured to perform various functions. Forexample, the local office 103 may include a push notification server105. The push notification server 105 may generate push notifications todeliver data and/or commands to the various locations 102 in the network(or more specifically, to the devices in the locations 102 that areconfigured to detect such notifications). The local office 103 may alsoinclude a data server 106. The data server 106 may be one or morecomputing devices that are configured to provide data to users in thehomes. This data may be, for example, video on demand movies, televisionprograms, songs, text listings, etc. The data server 106 may includesoftware to validate user identities and entitlements, locate andretrieve requested data, encrypt the data, and initiate delivery (e.g.,streaming) of the data to the requesting user and/or device.

The local office 103 may also include one or more application servers107. An application server 107 may be a computing device configured tooffer any desired service, and may run various languages and operatingsystems (e.g., servlets and JSP pages running on Tomcat/MySQL, OSX, BSD,Ubuntu, Redhat, HTMLS, JavaScript, AJAX and COMET). For example, anapplication server may be responsible for collecting data such astelevision program listings information and generating a data downloadfor electronic program guide listings. Another application server may beresponsible for monitoring user viewing habits and collecting thatinformation for use in selecting advertisements. Another applicationserver may be responsible for formatting and inserting advertisements ina video stream being transmitted to the locations 102.

An example location 102 a may include an interface 120. The interfacemay comprise a device 110, such as a modem, which may includetransmitters and receivers used to communicate on the links 101 and withthe local office 103. The device 110 may be, for example, a coaxialcable modem (for coaxial cable links 101), a fiber interface node (forfiber optic links 101), or any other desired modem device. The device110 may be connected to, or be a part of, a gateway 111 (e.g., a gatewayinterface device). The gateway 111 may be a computing device thatcommunicates with the device 110 to allow one or more other devices inthe home to communicate with the local office 103 and other devicesbeyond the local office. The gateway 111 may be a set-top box (STB),digital video recorder (DVR), computer server, or any other desiredcomputing device. The gateway 111 may also include (not shown) localnetwork interfaces to provide communication signals to devices in thehome, such as televisions 112, additional STBs 113, personal computers114, laptop computers 115, wireless devices 116 (wireless laptops andnetbooks, mobile phones, mobile televisions, personal digital assistants(PDA), tablets, smartwatches, etc.), and any other desired devices.Examples of the local network interfaces include Multimedia Over CoaxAlliance (MoCA) interfaces, Ethernet interfaces, universal serial bus(USB) interfaces, wireless interfaces (e.g., IEEE 802.11), Bluetoothinterfaces, and others.

FIGS. 2-8 illustrate an example system for selecting and sharing contentaccording to one or more illustrative aspects of the disclosure. Ageneral overview of the system will now be provided, with a moredetailed description to follow. With reference to FIG. 2 and FIG. 3, thesystem may comprise a content delivery network (CDN) 202. The CDN 202may store and/or deliver content to user devices in various formats andsegments. The CDN 202 may also store playlists for the content. Thesystem may comprise a video packager 204 configured to publish contentand/or playlists to the CDN 202.

With reference to FIG. 4, the system may comprise a first device 402,which may comprise any of the user devices illustrated in FIG. 1, suchas the personal computer 114, laptop computer 115, or wireless device116. The first device 402 may run an application that is configured toselect, share, and/or access content, such as a video clip. In someaspects, a user of the first device 402 may download the application andsign in to the application (or otherwise register with a contentprovider or service), such as a multichannel video program distributor.The system may also comprise a separate display device (notillustrated), such as the television 112, which may be used by the userto display content.

With reference to FIG. 5, the system may comprise a license server 502and/or an authorization server 504. The license server 502 and/orauthorization server 504 may set, monitor, or enforce entitlements forshared content. As will be described in further detail below, the sharedcontent (e.g., a 20 second video clip of a soccer match) may have thesame protection and/or entitlements as the original content (e.g., thevideo of the entire soccer match).

With reference to FIG. 6, the system may comprise a second device 602,which may also comprise any of the user devices illustrated in FIG. 1,such as the personal computer 114, laptop computer 115, or wirelessdevice 116. The second device 602, like the first device 402, may run anapplication configured to select, share, and/or access content.

With reference to FIG. 7, the system may comprise a server 702, such asa nab server. The server 702 may receive content playlists from the CDN202 and information for the shared (e.g., nabbed) content (e.g., starttime, end time, and/or duration of the shared content) from the firstdevice 402. The server 702 may be used to share a portion of a contenttaken (e.g., nabbed) from a larger portion of content. For example, thelarger portion of content may comprise an entire television show or anentire movie, and the nabbed content may comprise a segment or portionof the television show or movie. The server 702 may also generatemodified (e.g., reduced) playlists by removing references in thereceived content playlists that are outside of the range of the nabbedcontent. FIG. 8 illustrates exemplary modified playlists. The server 702may send the modified playlists to the second device 602, so that thesecond device 602 may access the nabbed content. The server 702 is notlimited to sending the modified playlist to just one device, and maysend the modified playlist to any number of devices. For example, theserver 702 may publish the modified playlist so that a plurality ofdevices may access the nabbed content.

The system illustrated in FIGS. 2-8 will now be described in greaterdetail. With reference to FIG. 2, the system may comprise the CDN 202.The CDN 202 may store content and/or deliver content to the homes 102and/or any of the devices in the homes 102. While the user devices inFIG. 1 are illustrated as being inside the home 102 a, they may be usedoutside of the home 102 a. Accordingly, the content may also bedelivered to devices outside of the home 102 a. In some aspects, one ormore elements of the distribution network illustrated in FIG. 1 (e.g.,the local office 103, the network 109, or the line 101) may be part ofthe CDN 202 and be used to deliver content.

The CDN 202 store and/or deliver various types of data, such as highdefinition video segments (e.g., hd-1, hd-2, hd-3, hd-4), standarddefinition video segments (e.g., sd-1, sd-2, sd-3, sd-4), audio segments(e.g., a-1, a-2, a-3, a-4), and metadata for each segment, such asinline frame (iframe) data (e.g., i-1, i-2, i3, i4). Each of the video,audio, and metadata segments having the same numerical identifier (e.g.,1, 2, etc.) may correspond to the same portion of audiovisual content.For example, hd-1, sd-1, a-1, and i-1 may comprise the first fiveseconds of a video. Similarly, hd-2, sd-2, a-2, and i-2 may comprise thesecond five seconds of the video. Each segment may have a fixedduration, such as 1 second, 2 seconds, 5 seconds, or any other timeduration. Each segment may also comprise a single image frame or aplurality of image frames (e.g., for video content). The CDN 202 maydeliver one or more segments to the first device 402, as illustrated byreference arrow E. The CDN 202 may similarly deliver one or moresegments to the second device 602, as illustrated by reference arrow M.

The system may comprise a video packager 204. The video packager 204 maypublish content, such as video content, to the CDN 202. For example, thevideo packager 204 may publish the segments, such as hd-1, hd-2, hd-3,hd-4, sd-1, sd-2, sd-3, sd-4, a-1, a-2, a-3, a-4, i-1, i-2, i3, i4, tothe CDN 202. The video packager 204 may also create or otherwisegenerate playlists for the content, such as video playlists. The videopackager 204 may store the playlists at storage locations internal orexternal to the video packager 204. The video packager 204 may alsopublish the playlists to the CDN 202, as illustrated by reference arrowN. The CDN 202 may include cache storage devices to temporarily storethe content segments and/or playlists. In some aspects, the videopackager 204 may facilitate transmitting video over the Internet, suchas via Hypertext Transfer Protocol (HTTP). For example, the videopackager 204 may comprise an HTTP Live Streaming (HLS) video packager,and the HLS protocol may be used to transmit multimedia data to CDN 202and eventually user devices.

FIG. 3 illustrates several playlists (also referred to herein asmanifests), which may, for example, be published by the video packager204 to the CDN 202. The CDN 202 may store one or more of the playlistspublished by the video packager 204. The CDN 202 may include a masterplaylist 304, which identifies or otherwise points to various otherplaylists (e.g., simple playlists). Those other playlists may comprise,for example, an HD playlist 306, an SD playlist 308, an iframe playlist310, an audio playlist 312, or any other playlists not illustrated, suchas another audio playlist, a closed captioning playlist, other variantsof the video playlists, etc. The playlists may be formatted as an .m3uor .m3u8 file and point to one or more data locations. For example, themaster .m3u8 playlist 304 may point to the four simple playlists: thehd.m3u8 playlist 306, the sd.m3u8 playlist 308, the iframe.m3u8 playlist310, and the audio.m3u8 playlist 312. Each content item deliverable bythe CDN 202, such as a movie, TV show, sports program, etc., may haveits own master playlist and one or more corresponding simple playlists.

Each of the simple playlists may further comprise indexes, which pointto one or more segments of HD video content, SD video content, iframedata, or audio data. For example, the hd.m3u8 playlist 306 may point tothe location of each HD video segment for the content corresponding tothe master.m3u8 playlist 304. Assume that the content item comprises thefour HD video segments illustrated in FIG. 2 (hd-1, hd-2, hd-3, andhd-4). The corresponding hd.m3u8 playlist 306 may identify the locationin the CDN 202 of each of those HD video segments, including the firstHD video segment (e.g., hd-1.ts), the second HD video segment (e.g.,hd-2.ts), the third HD video segment (e.g., hd-3.ts), and the fourth HDvideo segment (e.g., hd-4.ts). The sd.m3u8 playlist 308 may identify thelocation of each of the SD video segments illustrated in FIG. 2, such aswith the following pointers: sd-1.ts, sd-2.ts, sd-3.ts, and sd-4.ts. Theiframe.m3u8 playlist 310 may identify the location of each of the iframesegments illustrated in FIG. 2, such as with the following pointers:i-1.ts, i-2.ts, i-3.ts, and i-4.ts. The audio.m3u8 playlist 312 mayidentify the location of each of the audio segments illustrated in FIG.2, such as with the following pointers: a-1.ts, a-2.ts, a-3.ts, anda-4.ts. In some aspects, the pointers may be stored, transmitted, orformatted using a standard container format, such as MPEG transportstream.

Each playlist may also comprise encryption information, which may beused to define entitlements or restrictions for the contentcorresponding to each playlist. As will be explained in further detailbelow, encryption for an original content item may carry over to sharedcontent items.

The CDN 202 may send one or more of the master and simple playlists tothe server 702, as illustrated by reference arrows O, P, Q, R and S. TheCDN 202 may also send one or more of the playlists to the first device402, as illustrated by reference arrow A.

With reference to FIG. 4, the first device 402 may run an application(referred to as a nab capture app or nab playback app) configuredselect, share, and/or access content. The application may comprise avideo player 404 that plays video on the first device 402. The videodisplayed on the first device 402 may be substantially synchronized intime with corresponding video displayed on another device, such as atelevision (not illustrated). In other words, the video displayed on thedisplay device 112 may simultaneously be displayed on the first device402. The first device 402 may determine the video being displayed on thedisplay device 112 before displaying (and/or generating for display) acorresponding video on a display of the first device 402. One or morecomputing device described herein may determine (e.g., track) thecontent playing on the display device 112. The display device or acomputing device connected thereto (e.g., the STB 113, gateway 111, ormodem 110) may send a resume point to a central computing device. Theresume point may identify the content being played back (e.g., a TVepisode or a movie) and/or the point in time of the content being playedback (e.g., 12 seconds from the beginning of the TV episode or movie).The first device 402 may request and receive the resume pointinformation from the external computing device to determine the contentbeing played back on the display device 112 and the point in time of thecontent. The first device 402 may determine an equivalent piece ofcontent within the system and play back the content via, e.g., the videoplayer 404, such that the same content is simultaneously being playedback by the first device 402 and the display device 112. The firstdevice 402 may retrieve the equivalent piece of content from the CDN 202or a different CDN.

The video player 404 may receive video and/or audio from the CDN 202, asillustrated by reference arrow E. The video player 404 may play back thereceived video and/or audio on the first device 402. The received videoand/or audio may comprise the video and audio being simultaneouslyplayed back on the display device 112. Additionally or alternatively,the video and/or audio received by the video player 404 may compriseportions of the video and/or audio (e.g., segments or clips) played backon the display device 112.

The video player 404 may also receive playlists from the CDN 202, asillustrated by reference arrow A. The playlists may correspond to andidentify the video and/or audio being played back on the display device112 and optionally being played back on the first device 402. Aspreviously explained, each video available from the CDN 202 may have itsown playlist, such as a master playlist. In some aspects, the videoand/or audio files referenced in the received playlists may be deliveredto the video player 404 of the first device 402.

As the user of the first device 402 watches the video displayed on thedisplay device 112, the user may desire to share a portion of the video(e.g., a video clip) with others. The user may use the first device 402to select and share the video portion with others. In near real-time,the user may pick up the first device 402 and initiate the contentsharing application. The application may recognize, over a networkconnection with the display device 112 (or one of the devices 110, 111,and 113 connected to the display device 112), such as an IP connectionover Wi-Fi, the content that is being displayed on the display device112 (e.g., the channel that the user is watching). For example, thedisplay device 112 and the first device 402 may communicate with ashared service and/or server, which may communicate to the first device402 the content being displayed on the display device 112.

FIG. 11 illustrates an example device 1104 for selecting content toshare according to one or more illustrative aspects of the disclosure.As previously explained, the user may be watching a video on the displaydevice 1102 (e.g., the display device 112). The user may use the firstdevice 1104 (e.g., the first device 402 illustrated in FIG. 4) to sharea portion of the video being displayed on the display device 1102. Thenab application on the first device 1104 may display a messageindicating that the user has the option to share with other users aportion of the video displayed on the display device 1102 (andoptionally displayed on the first device 1104). For example, the messagemay state “Nab and share what's on TV right now.” The first device 1104may also display an option 1106 for the user to create a clip of thevideo. If the user selects the option 1106, the first device 1104 mayinitiate the creation of a video clip.

FIG. 12 illustrates an example device 1104 for editing selected contentto share according to one or more illustrative aspects of thedisclosure. In particular, the first device 1104 may generate and/ordisplay a screen for editing a portion of content (e.g., a video clip)to share with one or more other users. The edit screen may display 1206the length of the video clip (e.g., 20 seconds). One or more stillframes from the selected video clip may also be displayed. For example,the first device 1104 may display four still frames selected from the 20second video clip. The four frames may comprise the first frame of eachof four 5 second segments forming the 20 second video clip. As anotherexample, the four frames may comprise the last frame of each of the four5 second segments forming the 20 second video clip or any intermediatesegments.

In some aspects, the device 1104 may present the user with an option toselect the overall length of the video clip based on discrete segments.For example, the discrete segments illustrated in FIG. 12 comprise clipsthat are each five seconds long. Thus, the user may select an overallvideo clip length of 5, 10, 15, 20, 25, 30, etc. seconds. The length ofeach discrete segment is not limited to 5 seconds and may comprise anylength, such as 1 second, 2 seconds, 4 seconds, 8 seconds, or any otherlength of time. A frame from each discrete segment, such as the firstframe, the last frame, or a frame in between may be displayed 1206 onthe edit screen, as previously explained.

The edit screen may optionally display 1208 frames that the user has notselected, but that are adjacent to the frames that the user hasselected. For example, the edit screen illustrated in FIG. 12 displays 4additional unselected segments, two subsequent to the selected 20 secondclip and two prior to the selected 20 second clip. Frames fromunselected segments may be visually distinguished on the display of thefirst device 1104 from frames from selected segments. For example, theframes from the selected segments may be highlighted, whereas framesfrom the unselected segments might not be. Additionally oralternatively, frames from the unselected segments may be grayed out,have less contrast, or otherwise be made to appear in the backgroundrelative to the selected segments. As yet another example, frames fromthe unselected segments may be smaller in size than frames from theselected segments. The frames from the selected segments may optionallybe identified by brackets or other dividers from frames from theunselected segments. As the user increases the length of the selectedvideo clip 1206 by including additional segments in the selected videoclip, the previously unselected frames may be included with the selectedframes. For example, the user may use the touchscreen display of thefirst device 1104 to slide the brackets illustrated in FIG. 12 to theleft or right to include or exclude additional segments from theselected video clip.

The edit screen may also display an option 1210 that, when selected bythe user, causes the first device 1104 to play the selected video clip(e.g., the 20 second clip) back to the user on the display of the firstdevice 1104. The edit screen may also display options for the user torewind, fast forward, and/or pause the 20 second video clip duringplayback (not illustrated). Once the user has selected the desired videoclip to edit, send, and/or share, the user may select the next button1212 to edit, send, and/or share the selected clip.

Returning to FIG. 4, a nab client component 406 of the nab applicationrunning on the first device 402 may send information for the video clipto the server 702 illustrated in FIG. 7. Sending the information may bein response to the selection of the next button 1212 illustrated in FIG.12. The information may identify a playlist for the contentcorresponding to the video clip selected by the user (e.g., the fullvideo, audio, etc.), such as a master playlist. For example, the videomay comprise a soccer match between two teams, Team 1 and Team 2, andthe selected video clip may comprise a portion of the soccer match, suchas a scene of a goal scored by one of the players during the soccermatch. The nab client component 406 may send a playlist (or anidentifier for the playlist) for the soccer match to the server 702. Asdescribed above with reference to FIG. 2 and FIG. 3, the playlist mayidentify (e.g., point to) the location of content, such as the videoand/or audio content provided by the CDN 202. In some aspects, theplaylist may be formatted as an .m3u or .m3u8 file, as previouslyexplained.

The first device 402 may also send information identifying theparticular portion of the video selected by the user, such as theboundaries of the video clip. For example, the information may identifythe start time of the video clip (the nab start time) and the length ofthe video clip (the nab duration). Alternatively, the information mightidentify the start and end times of the video clip. As will be describedin further detail below with reference to FIG. 7, the server 702 may usethis information to facilitate creation of modified playlists thatidentify a particular video clip.

The content available from the CDN 202 and/or shared by the first device402 may be protected using encryption and/or entitlements (e.g., digitalrights management (DRM), licenses, and the like). The video player 404may send encryption information for the selected video clip to the DRMcomponent 408 of the nab application. For example, assume that a firstuser desires to share with a second user 20 seconds of a soccer match.The video player 404 of the first user's device (first device 402) maysend encryption information for the soccer match to the DRM component408. The encryption information may be used to indicate the location inthe network of decryption information. The DRM component 408 may forwardthe encryption information to the license server(s) 502 illustrated inFIG. 5, as indicated by reference arrow D. With reference to FIG. 5, thelicense server 502 may be configured to manage licenses and/orencryption information for the content available from the CDN 202 and/orcontent being shared between devices. The license server 502 mayoptionally communicate with an authorization server 504 to determinewhether a particular device and/or user is entitled to access content,such as an entire video clip or a portion of a video clip.

In some aspects, the nabbed content (e.g., the video clip) and theoriginal content (e.g., the entire video) may use the same entitlementsor restrictions. Accordingly, the nabbed content and the originalcontent may use the same protection scheme because encryptioninformation may be preserved when nabbed content is shared with otherusers. That is, encryption information from the original playlists maybe preserved in the modified playlists. As will be described in detailbelow, playlists for the original content may be modified by a server702 to create modified playlists for the nabbed content. Users that areentitled (or otherwise authorized) to access the original content may beentitled to access the nabbed content. Similarly, users that are notentitled to access the original content might not be entitled to accessthe nabbed content. In some aspects, a time limit may be added to thenabbed content. For example, if a user is not entitled to access theoriginal content, the user may nevertheless be granted permission toaccess the nabbed content for a limited amount of time. The time limitmay be included in the authorization server 504 based on, for example,business rules. The license server 502 may communicate with theauthorization server 504 to determine the time limit for each nabbedcontent item. The license key sent to the first device, second device,or any other device attempting to access the nabbed content may indicatethe time limit.

If the license server 502 determines that a second device is entitled toaccess the nabbed content, the license server 502 may send a decryptionkey (e.g., a license key) to the second device, as indicated byreference arrow F. In some aspects, the license key may be sent to thesecond device in response to determining that the second device isrequesting to access or otherwise view the nabbed content. In the soccermatch example, the license server 502 may determine whether the seconduser, having a second device, is entitled to access the entire soccermatch or is entitled to access the goal clip from the soccer match for alimited amount of time. If so, the license server 502 may send a licensekey for the soccer match to the second device. The second device may usethe license key to decrypt and access the encrypted nabbed content.

Entitlements may similarly be determined for other devices. For example,a second device 602 may send encryption information for nabbed contentto the license server 502, as indicated by reference arrow G. Thelicense server 502 and/or the authorization server 504 may determinewhether the first device 402 is entitled to the content nabbed at thesecond device. If so, the license server 502 may send a license key forthe nabbed content to the first device 402, as indicated by referencearrow C.

With reference to FIG. 6, the second device 602 (like the first device402) may comprise an application (referred to as a nab capture app ornab playback app) configured select, share, and/or access content. Theapplication may comprise a video player 604 that plays video on thesecond device 602. For example (and similar to the video player 404 ofthe first device 402), the video player 604 of the second device 602 mayreceive video and/or audio from the content delivery network 202, asillustrated by reference arrow M. The video player 604 on the seconddevice 602 may play back the received video and audio. In some aspects,the video and audio received by the video player 604 may compriseportions of the video and audio (e.g., clips) shared by another device,such as the first device 602 or other devices.

The video player 604 may receive modified playlists from the server 702,as illustrated by reference arrows H, I, J, K, and L. The video player604 may also receive playlists directly from the CDN 202. As previouslyexplained, the playlists may correspond to and identify the video (orportions thereof) available from the CDN 202. If the second device isaccessing nabbed content, the playlists received by the video player 604may comprise playlists modified by the server 702 (illustrated in FIG.7). These playlists may reference the portions of content shared by thefirst device 402. In other words, the server 702 may remove referencesto files outside the time range of the nabbed content (e.g., filesoutside a 20 second clip taken from a 90 minute soccer match), as willbe described below with reference to FIGS. 7-9.

FIG. 9 illustrates an example method of selecting and sharing contentwith other users according to one or more illustrative aspects of thedisclosure. In step 905, the first device 402 may receive (e.g., from auser of the first device 402) a selection of content to share. Forexample, the user may select a clip taken from a longer video (e.g., anentire video) to share with other users. The user may also select thestart time of the shared content, the end time of the shared content,and/or the duration of the shared content, as previously explained.

In step 910, the first device 402 may send encryption information forthe shared content to the license server 502 and/or the authorizationserver 504, as previously explained with reference to FIG. 4 and FIG. 5.In some aspects, the shared content may have the same entitlementsand/or restrictions as the original content. In other aspects, theentitlements and/or restrictions may be different. The license server502 and/or the authorization server 504 may provide license keys todevices that are entitled to access the shared content.

In step 915, the first device 402 may send information for the sharedcontent to the server 702. As previously explained, the information mayidentify the original content corresponding to the shared content, astart time of the shared content relative to the original content, anend time of the shared content, and/or a duration of the shared content.In step 920, the server 702 may receive the information for the sharedcontent from the first device 402. With brief reference to FIG. 7, step920 of FIG. 9 may correspond to reference arrow B, with the server 702receiving the information from the first device 402.

In step 925, the server 702 may receive one or more playlist(s) for theoriginal content from the CDN 202. The server 702 may contact (e.g.,query) the CDN 202, and receive the playlist(s) in response to theserver 702 receiving the information from the first device 402 in step920. Additionally or alternatively, the server 702 may receive theplaylist(s) in response to the server 702 sending a request to the CDN202 for playlists corresponding to the information received from thefirst device 402. With reference to FIG. 7, the server 702 may receive amaster playlist 704 (e.g., master.m3u8) from the CDN 202, as indicatedby reference arrow O. As previously explained, the master playlist 704may correspond to the original content corresponding to the contentbeing shared. The master playlist 704 may reference one or more otherplaylists, such as different components of the original content (e.g.,HD video, SD video, iframe data, audio data, etc.). The server 702 mayreceive the HD video playlist 706 (e.g., hd.m3u8) from the CDN 202, asindicated by reference arrow P. The server 702 may receive the SD videoplaylist 708 (e.g., sd.m3u8) from the CDN 202, as indicated by referencearrow Q. The server 702 may receive the iframe data playlist 710 (e.g.,iframe.m3u8) from the CDN 202, as indicated by reference arrow R. Theserver 702 may receive the audio data playlist 712 (e.g., audio.m3u8)from the CDN 202, as indicated by reference arrow S.

Returning to FIG. 9, in step 930, the server 702 may generate (e.g.,format) one or more modified playlist(s) for the shared content, basedon the information received from the first device 402 and the playlistsfor the original content received from the CDN 202. In particular, theserver 702 may remove references to files outside the time rangeindicated by the information received from the first device 402. As abrief example, assume that the original content comprises a televisionshow that is 30 minutes long, and the user has selected to share a 30second clip from the television show. The playlist(s) for the televisionshow may reference each video, audio, metadata, etc. segment of the 30minute television show. In order to generate modified playlist(s), theserver 702 may remove references to the data segments that fall outsideof the selected 30 second clip.

As another example, reference is turned to FIG. 3, which illustrates theplaylists for original content available from the CDN 202. The originalcontent may comprise a master playlist 304, which references severalother playlists. As previously explained, the original content may alsohave an HD video playlist 306, an SD video playlist 308, an iframe dataplaylist 310, and an audio playlist 312. Each of these playlists mayreference four segments. For example, the HD video playlist mayreference hd-1.ts, hd-2.ts, hd-3.ts, and hd-4.ts, each segmentcorresponding to a different HD video portion of the original content.The other playlists may also each reference four segments. The use offour segments is merely exemplary, and original content may be dividedinto any number of segments. For example, a 30 minute (or 1800 second)TV show may be broken into 360 segments, each segment being 5 secondslong. The CDN 202 may provide the playlists to the server 702.

With reference to FIG. 8, the server 702 may remove references tosegments that have not been selected for sharing by the user of thefirst device 402. For example, assume that the user selected to sharethe middle two segments of a four segment content item. In each of theplaylists, the server 702 may remove references to the first segment andthe fourth segment to generate a modified playlist. For example, theserver 702 may remove references to hd-1.ts and hd-4.ts in the HD videoplaylist 306 to generate a modified HD video playlist 806. The server702 may remove references to sd-1.ts and sd-4.ts in the SD videoplaylist 308 to generate a modified SD video playlist 808. The server702 may remove references to i-1.ts and i-4.ts in the iframe playlist310 to generate a modified iframe playlist 810. The server 702 mayremove references to a-1.ts and a-4.ts in the audio playlist 812 togenerate a modified audio playlist 812.

Segments that fall within the time boundaries selected by the user ofthe first device 402 may remain referenced in the modified playlist(s).For example, the modified HD video playlist 806 may reference hd-2.tsand hd-3.ts. The modified SD video playlist 808 may reference sd-2.tsand sd-3-ts. The modified iframe playlist 810 may reference i-2.ts andi-3.ts. The audio playlist 812 may reference a-2.ts and a-3.ts. Theserver 702 may generate and/or add to each playlist a link (e.g., aUniform Resource Identifier (URI), such as a Uniform Resource Locator(URL)) to the location in the CDN 202 of the corresponding segment, asindicated by {cdn.url} illustrated in FIG. 8. The link(s) to thelocation(s) in the CDN 202 may be optional. In some aspects, thesegments may be stored in (e.g., copied from the CDN 202 to) the server702. Accordingly, the playlist may directly reference the segmentsstored in the server 702 (e.g., without the link(s) to the location(s)in the CDN 202). In other aspects, the segments might not be stored inthe server 702, and the server 702 may add the link to the location inthe CDN 202 of each segment. The link may be used by devices to accessthe video clip. The server 702 may generate a link for each playlist ora single link for all of the playlists corresponding to the sharedcontent.

In some aspects, the server 702 might not modify the master playlist 804(e.g., master.m3u8) because the referenced playlists 806, 808, 810, and812 might incorporate the modifications. The server 702 may send themaster playlist 804, the modified HD playlist 806, the modified SDplaylist 808, the modified iframe playlist 810, and the modified audioplaylist 812 to the second device 602, as indicated by reference arrowsH, I, J, K, and L. Sending the playlists is also illustrated as step 935in FIG. 9.

In step 940, the second device 602 may receive the modified playlist(s)from the server 702. The second device 602 may optionally verify thatthe second user is entitled to access the nabbed content referenced inthe modified playlist(s). For example, the second device 602 maycommunicate with the license server 502 and/or the authorization server504 to determine whether it is entitled to access the nabbed content. Ifthe second device 602 is entitled to access the nabbed content, thelicense server 502 may return a license key that the second device 602may use to decrypt protected data, such as the segments referenced inthe received playlist(s). As previously explained, the entitlements forthe nabbed content may be the same as the entitlements for the originalcontent, and the entitlement information may be preserved in themodified playlists. For example, if the second user is entitled toaccess HBO content (e.g., the user is subscribed to HBO as part of hisor her television package), the second user may also be entitled toaccess clips generated from HBO content. If, on the other hand, thesecond user is not entitled to HBO content, the second device 602 maydisplay a message to the second user indicating that the second userdoes not have access to the HBO clip published by the first user. Insome aspects, content protection for the original content might notcarry over to the nabbed content. For example, even if the second useris not an HBO subscriber, the second user might be entitled to access aclip generated from HBO content nabbed by the first user. Access to thenabbed content may be time limited.

In step 945, the second device 602 may retrieve from the CDN 202 thesegments identified in the modified playlist(s). With reference to FIG.6, the video player 604 of the second device 602 may, for example,download or stream from the CDN 202 the segments identified in theplaylists(s), as indicated by reference arrow M. In step 950, the seconddevice 602 may access the shared content, such as by displaying thecontent on a display of the second device 602, or another displaydevice.

FIG. 10 illustrates general hardware and software elements that can beused to implement any of the various computing devices (e.g., terminaldevices, remote control devices, user devices, display devices, servers,etc.) discussed herein. The computing device 1000 may include one ormore processors 1001, which may execute instructions of a computerprogram to perform any of the features described herein. Theinstructions may be stored in any type of computer-readable medium ormemory, to configure the operation of the processor 1001. For example,instructions may be stored in a read-only memory (ROM) 1002, randomaccess memory (RAM) 1003, hard drive, removable media 1004, such as aUniversal Serial Bus (USB) drive, compact disk (CD) or digital versatiledisk (DVD), floppy disk drive, or any other desired electronic storagemedium. Instructions may also be stored in an attached (or internal)hard drive 1005. The computing device 1000 may include one or moreoutput devices, such as a display 1006 (or an external television), andmay include one or more output device controllers 1007, such as a videoprocessor. There may also be one or more user input devices 1008, suchas a remote control, keyboard, mouse, touch screen, microphone, etc.

The computing device 1000 may also include one or more networkinterfaces 1009, such as input/output circuits (such as a network card)to communicate with an external network 1010. The interface 1009 may bea wired interface, wireless interface, or a combination of the two. Insome embodiments, the interface 1009 may include a modem (e.g., a cablemodem), and the network 1010 may include the communication links 101discussed above, the external network 109, an in-home network, aprovider's wireless, coaxial, fiber, or hybrid fiber/coaxialdistribution system (e.g., a DOCSIS network), or any other desirednetwork. The computing device 1000 may communicate with the externalnetworks 1010 or other devices using one or more communicationprotocols, such as wired communication protocols and wirelesscommunication protocols (e.g., Wi-Fi, Bluetooth, ZigBee, Z-Wave, etc.).

FIG. 13 illustrates an example display screen 1302 for displayingapplications, including a content sharing application (e.g., nab app1306), according to one or more illustrative aspects of the disclosure.The screen 1302 (or any of the display screens described herein) may bedisplayed on any device having a display screen or on a separate displayscreen, such as the display 1102 illustrated in FIG. 11, the device 1104illustrated in FIG. 11, the first device 402 illustrated in FIG. 4,and/or the second device 602 illustrated in FIG. 6. The display screen1302 may display a list 1304 of applications available to a user of thedevice. For example, the applications may include a news app, weatherapp, sports app, messages app, and a contacts app, among other apps. Thelist 1304 may also include a nab app 1306. If any additionalapplications are available, they may optionally be listed in a secondlisting 1308 of applications. A user may access the nab app 1306 byselecting the corresponding icon on the display screen 1302.

FIG. 14 illustrates an example display screen 1402 for creating contentto share according to one or more illustrative aspects of thedisclosure. In some aspects, selection of the icon 1306 in FIG. 13 maycause the screen 1402 to be displayed on the user device. The user maybe watching a sports channel on the first device 402 and/or on theuser's television 112 or other display device. For example, FIG. 14illustrates a soccer match between Team 1 and Team 2 being broadcastlive on the sports channel. The screen 1402 may highlight 1404 how farinto the program the user currently is. The screen 1402 may alsoindicate 1406 the corresponding time of the program (e.g., 33 minutes,10 seconds into the program). The screen 1402 may indicate the overalllength 1408 of the program (e.g., 1 hour, 1 minute, and 0 seconds). Insome aspects, the user may rewind, fast forward, or otherwise jump toanother portion of the program. The user many return to the live programat any time by, for example, selecting the play button or scrolling tothe current time.

The screen 1402 may display an option 1410 that allows the user toselect the length of the clip to nab. In some aspects, the selectablelength may be in fixed increments. For example, the segments of theprogram may be fixed at 5 second intervals, and the user may be able toselect a clip having a length of 5 seconds, 10 seconds, 15 seconds, 20seconds, 25 seconds, etc. In other aspects, the length of the clip mightnot be in fixed increments, and the user may be able to select a clip ofany length. For example, the user may select a clip of 7 seconds, 20seconds, 2 minutes, etc. The user may also be able to select thestarting point for the clip. For example, the user may scroll theindicator 1406 to any portion of the video program to set the startingpoint (e.g., using a rewind button, a fast forward button, by manuallymoving the indicator 1406, etc.). The user may optionally select the endtime of the video clip instead of selecting the clip length. Once theuser has selected the start time for the video clip and the duration (orend time) of the video clip, the user may select the option 1412 tocreate a nab of the video having the selected start time and duration orend time.

FIG. 15 illustrates an example display screen 1502 for editing contentto share according to one or more illustrative aspects of thedisclosure. In some aspects, selecting the create nab option 1412illustrated in FIG. 14 may cause the screen 1502 to be displayed. Thedisplay screen 1504 of the nab application may display the selectedvideo clip. Four frames 1506 may be used to display a 20 second clip,such as in 5 second segments. As previously explained, the framedisplayed for each segment may comprise the first frame in the segment,the last frame in the segment, or any other frame in between. Frames1508 for the segments not included in the 20 second clip may be grayedout or otherwise distinguished from the frames of the selected clip. Insome aspects, the user may increase or decrease the length of the videoclip by, for example, moving a bracket on either side of the selectedvideo clip. The time of the first segment displayed on the screen 1504may be displayed 1510 (e.g., 33:10). The time of the last segmentdisplayed on the screen 1504 may similarly be displayed (e.g., 34:10).

FIG. 15 also illustrates options 1512 for the user to play back and/oredit the 20 second clip. For example, selection of the play button maycause the 20 second clip to play back on the display screen 1504. Theuser may also use the rewind or fast forward buttons to manipulateplayback of the clip. In some aspects, the display screen 1502 maycomprise buttons for editing the selected clip. For example, the displayscreen 1502 may display an option that adds future segment(s) to theclip (e.g., segments to the right of the end of the clip 1506) and anoption that adds past segment(s) to the clip (e.g., segments to the leftof the beginning of the clip 1506). The display screen 1502 maysimilarly have buttons to remove segments. The display screen 1502 mayhave buttons that maintain the length of the clip, but that shift theselected clip left or right. For example, the clip may currently runfrom 33:40 to 34:00 of the original content. The clip may be shifted tothe left (e.g., to 33:35 to 33:55) or to the right (e.g., to 33:45 to34:05) depending on the button selected. Once the user is done editingand/or reviewing the selected clip, the user may select the next option1514. Selecting this option may cause the example display screen 1602 tobe displayed.

FIG. 16 illustrates an example display screen 1602 for sharing contentaccording to one or more illustrative aspects of the disclosure. Thedisplay screen 1604 of the nab application may display the nabbedprogram. The display screen 1604 may include a play button 1606, andselection of the play button 1606 may cause the device to playback theselected clip. The display screen 1604 may also comprise an option 1608to access the full video, such as if the user desires to watch the fullvideo or to edit the clip (e.g., shift, extend the length, decrease thelength, etc.). If the user selects option 1608, the display screen 1502illustrated in FIG. 15 may be displayed, permitting the user to edit theselected clip.

The display screen 1602 may display the user's username and/or an option1610 for the username to be displayed, or hidden in the publication ofthe shared content. Currently, the user has selected to display his orher username in association with the clip. The display screen 1602 maydisplay an option 1612 to make the video clip private. If the video clipis private, the user and/or others designated by the user (e.g.,friends, family, or another selected group) may be able to access orcomment on the video clip. Others might not have access to the videoclip. The private option 1612 may also be used to send the video clip ina private message to another user. The display screen 1602 may alsodisplay a text (e.g., caption) box 1614, which may permit the user toenter a caption or other comment for the video clip. The comment may beshared with other users in association with the shared video clip. Thedisplay screen 1602 may include a post button 1616. Selection of thepost button 1616 may cause the video clip to be published or otherwisesent to another user, such as the user of the second device 602.

FIG. 17 illustrates another example display screen 1702 for sharingcontent according to one or more illustrative aspects of the disclosure.The display screen 1704 may be similar to the display screen 1604illustrated in FIG. 16. In FIG. 17, the user may have selected theprivate button 1706, and access to the video clip may be restricted tothe user and/or others that the user designates. FIG. 17 alsoillustrates a text box 1708 showing an exemplary caption entered by theuser: “Athlete's epic goal! # tournament # goal # country.”

FIG. 18 illustrates an example display screen 1802 for sending contentaccording to one or more illustrative aspects of the disclosure. Inresponse to a selection of the private option 1706 and/or the postoption illustrated in FIG. 17, the display screen 1804 may be displayed(e.g., as a pop up). The user may enter a recipient of the video clip bythe recipient's unique identifier, such as a mobile number, a username(e.g., User1234), etc. The user may also include a message to User1234,such as “Watch this!” The screen 1804 may display a send option 1806,and selection of the option 1806 may cause a private message to be sentto User1234's account and/or device (e.g., the second device 602).

FIG. 19 illustrates an example display screen 1902 for displaying areceived message according to one or more illustrative aspects of thedisclosure. In some aspects, the display screen 1902 may be on a seconduser's device, such as the second user's TV or the second device 602.The second user (User1234) may be watching a program, playing a game,accessing an application, or otherwise consuming or interacting with hisor her device. During the consumption or interaction, a message 1904 maybe displayed on the display 1902, such as via a popup. The message 1904may be sent to the second user and displayed on the second user's devicein response to the first user sending the private message, asillustrated in FIG. 18. The message 1904 may indicate the sender of themessage (e.g., the first user, John Smith). The message 1904 may alsoindicate a message to the second user, such as “Watch This!” The message1904 may comprise an option 1906 for the second user to access the videoclip nabbed by the first user or to otherwise access more information onthe nabbed content. In response to selecting the option 1906, the seconddevice may display the nabbed content to the second user, as previouslydescribed.

FIG. 20 illustrates an example display screen 2002 for displaying acontent sharing application according to one or more illustrativeaspects of the disclosure. The screen 2002 may display a list 2004 ofusers or accounts that the user of the nab application is following,such as @Physics, @Friend1, # TVshow, etc. In some aspects, the user mayreceive a notification if any of the followed users or accounts sharesor otherwise publishes a new nab. The screen 2002 may also display alist 2006 of the user's nabs (e.g., the nabs that the user created). Thelist 2006 may display a first nab called “Title” and having a hashtag “#information.” The list 2006 may also display the nab 2008 created by theuser, as illustrated in FIG. 17 and FIG. 18, among other figures. Thenab 2008 may comprise the message created by the user (e.g., “Athlete'sEpic Goal”). The nab 2008 may also indicate the popularity of the nab2008, such as the number of views or likes (e.g., 157), the number ofcomments (e.g., 3), and the number of reposts (e.g., 1). The screen 2002may also display a list 2010 of trending subjects (e.g., hashtags) orsubjects that are otherwise popular. Exemplary trending topics include #Tournament, # SeasonFinale, # Fitness, and the like.

FIG. 21 illustrates an example display screen 2102 for displaying andinteracting with shared content according to one or more illustrativeaspects of the disclosure. The screen 2102 may be displayed if the userthat created the nab (e.g., John Smith) or another user (e.g., User1234)selects an option to view or interact with the nab. For example, thescreen 2102 may be displayed if User1234 selects the option 1906illustrated in FIG. 19. The screen 2102 may also be displayed if JohnSmith selects the nab 2008 illustrated in FIG. 20. The screen 2102 maycomprise a section 2104 configured to display the nabbed content (e.g.,the 20 second video clip). The user may play back the video clip if theuser is entitled to access the video clip, as previously explained.

The screen 2102 may also display comments 2106 on the video clip. Forexample, the comments section 2106 may display a comment made by Friend3(“It's just another day for Athlete.”), Superstar Soccer Player (“Youcall that epic? Watch and weep”), and Friend1 (“Truly epic.”). Theamount of time since the comment was made may also be displayed. In someaspects, users may be able to embed other videos or video clips in thecomments section 2106. For example, Superstar Soccer Player has embeddeda video adjacent to his comment. The screen 2102 may also includeoptions 2108 for the user to follow the user that created the videoclip, like the video clip, comment 2110 on the video clip, repost thevideo clip, and/or send the video clip as a message to another user. Ifthe user selects the comment option 2110, the display screen 2202illustrated in FIG. 22 may be displayed.

FIG. 22 illustrates an example display screen 2202 for commenting onshared content according to one or more illustrative aspects of thedisclosure. In response to a selection of the comment option 2110, thenab application display screen 2102 illustrated in FIG. 21 may be grayedout, displayed in the background, or otherwise deemphasized relative toa comment block 2204 illustrated in FIG. 22. The user may input acomment in the comment box 2206 (e.g., “Reminds me of this clip:)”). Theuser may optionally include (e.g., embed) another video clip 2208 withhis or her comment. For example, the user may select a previously savedvideo clip that the user created or a video clip created by anotheruser. The comment block 2204 may include a post comment option 2210 thatwhen selected, causes the comment to be posted to the video clip, asillustrated in FIG. 23.

FIG. 23 illustrates an example display screen 2302 for displaying andinteracting with shared content according to one or more illustrativeaspects of the disclosure. The display screen 2302 is similar to thedisplay screen 2102 illustrated in FIG. 21. However, the comment 2308generated by the user John Smith using, for example, the display screen2202 illustrated in FIG. 22, may be displayed in the comments section2306. As illustrated in FIG. 23, the video clip may have 4 comments. Ifnot all of the comments can be displayed on the display screen 2302, theuser may be provided an option to scroll through the comments. Thedisplay screen 2302 may also include an option 2310 to send the videoclip as a message to another user. If the user selects the option 2310,the display screen 2304 illustrated in FIG. 24 may be displayed.

FIG. 24 illustrates an example display screen 2402 for sending contentaccording to one or more illustrative aspects of the disclosure. Inresponse to a selection of the send message option 2310, the nabapplication display screen 2302 illustrated in FIG. 23 may be grayedout, displayed in the background, or otherwise deemphasized relative toa send message block 2404, illustrated in FIG. 24. The user may add arecipient of the message by providing, for example the recipient'smobile number or username. The user may also add a message to beincluded with the video clip or a link to the video clip, such as “WatchThis!” The send message block 2404 may display a send option 2406, andselection of the option 2406 may cause the video clip or a link of thevideo clip and the message to be sent to the recipient. In some aspects,the message 1904 illustrated in FIG. 19 may be displayed on therecipient's device indicating that the recipient has received themessage. Additionally or alternatively, selection of the send option2406 may cause the message to be sent to another device of therecipient, such as the recipient's mobile device (e.g., smartphone,tablet, etc.), as illustrated in FIG. 25.

FIG. 25 illustrates example devices 2502 and 2504 for accessing sharedcontent according to one or more illustrative aspects of the disclosure.In particular, the shared video clip may be sent to the mobile device2504 as a text message 2506, an email message, an in-app message, or anyother type of message. The message 2506 may include a link 2508, such asa URL, to the video clip. As previously explained, the URL or other linkmay have been generated by the server 702, and may uniquely identify thelocation of the video clip or segments thereof. In response to aselection of the link 2508 on the device 2504, the device 2504 mayaccess the shared video clip via a web browser and/or a nab app, aspreviously explained. Additionally or alternatively, a link 2510 may beprovided to another device 2502 (e.g., a laptop computer, a desktopcomputer, a television, etc.), and the user may access the shared videoclip via a web browser and/or a Nab application on a different device.By using a web URL, any device with a web browser may be used to accessthe nabbed content. The recipient may playback, comment, share, like,repost, etc. the shared video clip as previously explained.

FIG. 26 illustrates an example display screen 2602 for selecting contentaccording to one or more illustrative aspects of the disclosure. Thescreen 2602 may be displayed on, for example, a television screen andpresent a listing 2608 that allows the user to search for or browsecontent available from a CDN 202, such as episodes or games from asoccer tournament. For example, 76 games may be available on demand. Thescreen 2602 displays four games, Country3 vs. Country4, Country1 vs.Country2, Country5 vs. Country6, and Country7 vs. Country8. The user mayselect the on demand episode Country1 vs. Country2 2604. The screen 2602may display a nab option 2606 for the user to create a video clip fromthe episode 2604 and/or access other shared video clips from the episode2604.

The various features described above are merely non-limiting examples,and can be rearranged, combined, subdivided, omitted, and/or altered inany desired manner. For example, features of the computing device(including the nab server, the first device, the second device and otherservers) described herein can be subdivided among multiple processorsand computing devices. The true scope of this patent should only bedefined by the claims that follow.

1. A method comprising: receiving, by a computing device and from afirst device, information indicating a clip of a first version of acontent item output to the first device; determining, based on theinformation indicating the clip, timing information associated with theclip; and generating, based on the timing information, a plurality ofplaylists for different versions of a portion of the content item. 2.The method of claim 1, further comprising: sending the plurality ofplaylists to a second device, wherein the plurality of playlists isusable by the second device to access the portion of the content item.3. The method of claim 1, wherein the plurality of playlists comprises afirst plurality of playlists, the method further comprising: generating,by the computing device, a second plurality of playlists, eachcomprising a reference to the first plurality of playlists; and sendingthe first plurality of playlists and the second plurality of playliststo a second device.
 4. The method of claim 1, further comprising:determining a master playlist comprising references to the plurality ofplaylists; and sending the plurality of playlists and the masterplaylist to a second device.
 5. The method of claim 1, furthercomprising: receiving, by the computing device and from the firstdevice, an indication that a user of a second device is permitted toaccess the plurality of playlists; generating a link for the pluralityof playlists; and sending the link to the second device, wherein thelink allows the second device to access the clip.
 6. The method of claim1, wherein the information indicating the clip comprises: a start timeof the clip; and a duration of the clip or an end time of the clip, andwherein: each of the different versions of the portion of the contentitem comprises a plurality of segments; and each playlist, of theplurality of playlists is associated with an index to the plurality ofsegments.
 7. The method of claim 1, wherein the plurality of playlistscomprises entitlement information for the content item, and whereingenerating the plurality of playlists comprises maintaining theentitlement information for the content item in the plurality ofplaylists.
 8. An apparatus comprising: one or more processors; andmemory storing instructions that, when executed by the one or moreprocessors, cause the apparatus to: receive, from a first device,information indicating a clip of a first version of a content itemoutput to the first device; determine, based on the informationindicating the clip, timing information associated with the clip; andgenerate, based on the timing information, a plurality of playlists fordifferent versions of a portion of the content item.
 9. The apparatus ofclaim 8, wherein the instructions, when executed by the one or moreprocessors, cause the apparatus to: send the plurality of playlists to asecond device, wherein the plurality of playlists is usable by thesecond device to access the portion of the content item.
 10. Theapparatus of claim 8, wherein the plurality of playlists comprises afirst plurality of playlists, and wherein the instructions, whenexecuted by the one or more processors, cause the apparatus to: generatea second plurality of playlists, each comprising a reference to thefirst plurality of playlists; and send the first plurality of playlistsand the second plurality of playlists to a second device.
 11. Theapparatus of claim 8, wherein the instructions, when executed by the oneor more processors, cause the apparatus to: determine a master playlistcomprising references to the plurality of playlists; and send theplurality of playlists and the master playlist to a second device. 12.The apparatus of claim 8, wherein the instructions, when executed by theone or more processors, cause the apparatus to: receive, from the firstdevice, an indication that a user of a second device is permitted toaccess the plurality of playlists; generate a link for the plurality ofplaylists; and send the link to the second device, wherein the linkallows the second device to access the clip.
 13. The apparatus of claim8, wherein the information indicating the clip comprises: a start timeof the clip; and a duration of the clip or an end time of the clip, andwherein: each of the different versions of the portion of the contentitem comprises a plurality of segments; and each playlist, of theplurality of playlists is associated with an index to the plurality ofsegments.
 14. The apparatus of claim 8, wherein the plurality ofplaylists comprises entitlement information for the content item, andwherein the instructions, when executed by the one or more processors,cause the apparatus to generate the plurality of playlists bymaintaining the entitlement information for the content item in theplurality of playlists.
 15. A non-transitory computer-readable mediumstoring instructions that, when executed, cause: receiving, from a firstdevice, information indicating a clip of a first version of a contentitem output to the first device; determining, based on the informationindicating the clip, timing information associated with the clip; andgenerating, based on the timing information, a plurality of playlistsfor different versions of a portion of the content item.
 16. Thenon-transitory computer-readable medium of claim 15, wherein theinstructions, when executed, cause: sending the plurality of playliststo a second device, wherein the plurality of playlists is usable by thesecond device to access the portion of the content item.
 17. Thenon-transitory computer-readable medium of claim 15, wherein theplurality of playlists comprises a first plurality of playlists, andwherein the instructions, when executed, cause: generating a secondplurality of playlists, each comprising a reference to the firstplurality of playlists; and sending the first plurality of playlists andthe second plurality of playlists to a second device.
 18. Thenon-transitory computer-readable medium of claim 15, wherein theinstructions, when executed, cause: determining a master playlistcomprising references to the plurality of playlists; and sending theplurality of playlists and the master playlist to a second device. 19.The non-transitory computer-readable medium of claim 15, wherein theinstructions, when executed, cause: receiving, from the first device, anindication that a user of a second device is permitted to access theplurality of playlists; generating a link for the plurality ofplaylists; and sending the link to the second device, wherein the linkallows the second device to access the clip.
 20. The non-transitorycomputer-readable medium of claim 15, wherein the information indicatingthe clip comprises: a start time of the clip; and a duration of the clipor an end time of the clip, and wherein: each of the different versionsof the portion of the content item comprises a plurality of segments;and each playlist, of the plurality of playlists is associated with anindex to the plurality of segments.
 21. The non-transitorycomputer-readable medium of claim 15, wherein the plurality of playlistscomprises entitlement information for the content item, and whereingenerating the plurality of playlists comprises maintaining theentitlement information for the content item in the plurality ofplaylists.